1. Field of the Invention
The present invention relates to information retrieval systems, and more specifically, relates to managing query access to information.
2. Description of Related Art
Relational database systems are widely used for storing and retrieving information. Typically, relational database systems have a database including tables of data stored on a data storage medium, such as disk, and a relational database management system (RDBMS) for managing the database and providing an interface thereto. The RDBMS is responsible for processing requests to access the information in the database, for client applications, which requests are typically formalized in the Structured Query Language (SQL). To make requests and receive responses, client applications typically connect to the RDBMS and conduct the communications within a session. Connection and session management at the RDBMS is a typical manner of sharing resources among a plurality of client applications.
Traditionally, in order to share information between different SQL statements in the same session, or between different database sessions, the client application issuing the SQL statements either must copy the values from the set of input/output arguments (e.g. host variables) of one statement to those of another or write the values to a table in the RDBMS with one statement and read them from that table with the next statement. Thus, sharing information between SQL statements traditionally requires that the client application provide the mechanism and logic necessary to transport the information and the used SQL statements must intrinsically understand and use the same client mechanism. Also, SQL statements defined and contained within the database system itself, such as SQL statements used to define triggers and views, could not access this information at all if it was contained in the client application's memory. Another problem encountered by RDBMS products is that access to internal system information by SQL statements has traditionally been done via SQL special registers but these registers must be defined and implemented within the SQL language and the SQL Compiler in the relational database system before the special register may be used. This overhead slows the introduction of access to internal information desired by users of relational database systems and forces users to wait for the relational database system vendor to implement the new special register.
Overall, these restrictions limit the flexibility of relational database systems and, thus, the ability of users of such systems to implement complex, interactive models within the database itself. Users are forced to implement supporting logic inside their client applications or stored procedures (i.e. independent routines containing both logic as well as SQL statements, all of which are stored in the database for later invocation) in order to access and transfer information from SQL statement to SQL statement within a relational database system. Ensuring the security of the information being transferred and accessed is also left to the user to enforce in their application logic.
Therefore, there is a need for a simple, optimized and generic method for permitting query access to the information, in a system for information retrieval adapted to receive and respond to queries for information stored in a database, which mitigates the shortcomings and problems related to known technology.